//给定一个整数，写一个函数来判断它是否是 3 的幂次方。如果是，返回 true ；否则，返回 false 。 
//
// 整数 n 是 3 的幂次方需满足：存在整数 x 使得 n == 3ˣ 
//
// 
//
// 示例 1： 
//
// 
//输入：n = 27
//输出：true
// 
//
// 示例 2： 
//
// 
//输入：n = 0
//输出：false
// 
//
// 示例 3： 
//
// 
//输入：n = 9
//输出：true
// 
//
// 示例 4： 
//
// 
//输入：n = 45
//输出：false
// 
//
// 
//
// 提示： 
//
// 
// -2³¹ <= n <= 2³¹ - 1 
// 
//
// 
//
// 进阶：你能不使用循环或者递归来完成本题吗？ 
//
// Related Topics 递归 数学 👍 373 👎 0


//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
    public boolean isPowerOfThree(int n) {

//        //类似leetcode 231题 2的幂
//        if(n <= 0){
//            return false;
//        }
//        //能被3整除就不断的除以3，直到无法整除
//        while(n %3 == 0){
//            n = n/3;
//        }
//        //最终若为1， 说明是3的倍数
//        return n == 1;
////        > 2025/08/23 01:47:22
////        解答成功:
////        执行耗时:8 ms,击败了91.05% 的Java用户
////        内存消耗:43.4 MB,击败了11.71% 的Java用户

        return n > 0 && 1162261467 % n == 0;
//        > 2025/08/23 01:49:07
//        解答成功:
//        执行耗时:8 ms,击败了91.05% 的Java用户
//        内存消耗:43.1 MB,击败了78.83% 的Java用户

    }
}
//leetcode submit region end(Prohibit modification and deletion)
